# 下载酷狗歌曲
import Util
import os

# 常量
CMD_SEARCH = "search"
CMD_EXIT = "exit"

# 当前第几页
curPage = 1

# 一页搜索多少首歌曲
pageSize = 5


# 处理
def handleSearch(song, page, songOfPerPage):

    # 歌曲hash和album_id二维数组
    # [[hash, album_id, 歌手， 歌曲名，下载地址(下面才赋值)], [], [], ...]
    songs = Util.getSongsInfo(song, int(page), int(songOfPerPage))
    for item in songs:
        item[4] = Util.getSongDownloadUrl(item[0], item[1])

    # 打印歌曲信息
    print("---歌手---------------歌曲名-------------下载地址----")

    for item in songs:
        print("{singer}\t\t{song}\t\t{downloadUrl}".format(singer=item[2], song=item[3], downloadUrl=item[4]))

    print("-------------------------------------------------")

# 循环处理用户输入
def loop():
    while True:

        # 读取用户输入
        inputText = input("Please input command (Example: search [歌手名/歌曲名] [页数] [每页歌曲数量]) :\n").split(" ")

        if len(inputText) == 0: continue

        # 退出
        if inputText[0] == CMD_EXIT:
            print("Bye!")
            break

        # 搜索
        elif inputText[0] == CMD_SEARCH:

            # 如果参数缺失
            if len(inputText) != 4:
                print("Missing parameter!")
                continue

            # 正常搜索
            print("Searching {song}...\tPlease wait...".format(song=inputText[1]))
            handleSearch(inputText[1], inputText[2], inputText[3])
            continue

        else:
            print("Unknown command!")
            continue


if __name__ == "__main__":
    os.system("@echo off")
    loop()
    # os.system("pause")
